The Action Graph is a structure that defines in which order the operator has to execute a sequence of actions to consider that a task has been completed. By definition an Action Graph is a Directed Graph, in which each node (an Action Nodes from now on) is a possible action that can be executed in the order specified by the directed edges. Each node is defined by an Action's Category and an Action's Name. In addition, a list of Constraints can be specified.
The most common action categories are: TTS and ASR, these are used by VoixTreme to identify which actions involved the PDA and which ones the Operator.
The Action's Name is an identifier of the action that is assigned by the developer of the application to give the action a more detailed context.
The Constraints is a list of rules applied to the resulting value of an action in order to validate if the action belongs to the sequence defined by the graph.
Each Action Node is shown using the following format: [id] Category Name. The Category and Name of an Action Node were previously explained. The id of an Action Node is a unique number that identifies each node. The following image shows a basic example of action graph designed for a Picking task:
The task is composed by the following actions: The PDA tells the Operator the Location he has to go. The Operator validates the Location. The PDA tells the Operator the item he has to retrieve, the Operator validates the Item. And finally: the PDA tells the Operator the number of items he has to pick up, the Operator validates the number of items.
Action Nodes are linked in the following way:
After the action of the Parent Node is executed, any of the actions specified by its child nodes can be executed. This is how a sequence of actions is represented for an Action Graph.
Two of the Action Nodes have a different background: one is the Last Node (blue background) which is used to specify which is the last action of the task, the other is a reference to another node (green background). A node reference allows the creation of cycles in a graph to represent sequences of actions that can be repeated. In the example a cycle was added to allow the user to repeat the hole Picking task: after the quantity is validated, the PDA may ask the Operator to go to another Location.
The structure of an Action Graph can be modified by performing the following actions:
The first Node defines the first action executed by an Operator on a Task. The First Node can be simply added by selecting the Category, Name and clicking the
button on empty graph.The Last Node defines the last action of the task. To define the last node of a graph, select a node and click the
button. Remark: Any node which is not the last node must have a connection with another node.Adding a child Node to a previously created one, defines one of the possible actions that an operator can perform. To add a new node, select its parent, the action's category and name of the Node, then select the parent Nodeand click the
button. New Action Categories and Names can be entered by just typing them in the corresponding combo boxes.The Action's Category and Name of any Node can be modified. To modify an Action Node, select it, change its Category and/or Name and click the
button.Some actions or sequences of actions must be repeated within a task. Node references must be used to represent the repetition of actions. To add a reference to a Node, select the target Node from the "Node Reference" combo box and then click
button. Note that node references have a different background color, when a node reference is selected the node which is referenced is highlighted.Select the target node and click on the
button. Each of the child nodes will be also deleted.Select the target node and click on the
button. A new window will opened where constraints can be added or removed. To add a new constraint, select the constraint type from the combo box and enter a value that will be used for comparison then click on the button.Remark: Almost all constraints use the "Value to Compare" in the same way, they take the action's value and performs a comparison using a particular operator. For a constraint which type is RegExp, the value to compare must be a valid regular expression.
To save an Action Graph, enter a Name and click on the
button.